home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / language / modula.zoo / _defn_filename.def < prev    next >
Text File  |  1988-04-26  |  2KB  |  77 lines

  1. DEFINITION MODULE Filename;       (* Hans Endl  5. 5. 87 *)
  2.  
  3. (*  Version für Atari  *)
  4.  
  5. TYPE
  6.  
  7.   Path      = ARRAY [0..63] OF CHAR;
  8.   Name      = ARRAY [0..07] OF CHAR;
  9.   Extension = ARRAY [0..02] OF CHAR;
  10.  
  11.   filespec  = ARRAY [0..13] OF CHAR;  (* Name und Extension *)
  12.   fullname  = ARRAY [0..79] OF CHAR;
  13.  
  14.   filename  = RECORD
  15.                 drv:   CHAR;
  16.                 path:  Path;
  17.                 name:  Name;
  18.                 ext:   Extension;
  19.               END;
  20.  
  21.  
  22. VAR
  23.   empty:    filename;     (* Filename aus leeren Elementen *)
  24.  
  25.  
  26. PROCEDURE compose (VAR n, d: filename; VAR s: ARRAY OF CHAR);
  27.  
  28. (* Setzt aus dem Filenamenrecord "n" den Filenamen "s"
  29.    zusammen, der keine Leerzeichen enthält. Namensteile,
  30.    die in "n" nicht besetzt sind, werden aus "d" über-
  31.    nommen. Sind sie auch in "d" nicht enthalten, ent-
  32.    fallen sie.
  33. *)
  34.  
  35.  
  36. PROCEDURE getspec (VAR n: filename; VAR s: ARRAY OF CHAR);
  37.  
  38. (* Extrahiert aus dem Filenamenrecord "n" den Namen und
  39.    die Extension und fügt dazwischen einen Punkt ein,
  40.    um das richtige Format für Suchoperationen mit SFirst
  41.    zu erhalten.
  42. *)
  43.  
  44.  
  45. PROCEDURE parse   (VAR s: ARRAY OF CHAR; VAR n: filename);
  46.  
  47. (* Analysiert den Filenamen "s" auf seine Bestandteile
  48.    und trägt sie in den Filenamenrecord "n" ein.
  49. *)
  50.  
  51.  
  52.  
  53. PROCEDURE ClearFilename (VAR fn: filename);
  54.  
  55. (* Löscht alle Elemente eine Filenamens *)
  56.  
  57.  
  58.  
  59. PROCEDURE GetDriveAndPath (VAR fn: filename);
  60.  
  61. (* Besetzt "fn.drv" und "fn.path" mit den aktuellen
  62.    Werten von GEMDOS
  63. *)
  64.  
  65.  
  66. PROCEDURE SelectFilename (VAR mask, name: filename; VAR exit: BOOLEAN);
  67.  
  68. (* Erzeugt eine Fileselectorbox mit den Elementen aus "mask".
  69.    Nicht besetzte Elemente von "mask" werden durch den aktuellen
  70.    GEMDOS-Pfad und "*.*" ersetzt. Eine Voreinstellung eines Namens
  71.    kann in "name.name" und "name.ext" übergeben werden.
  72.    Nach dem Aufruf enthält "name" alle Elemente des Pfadnamens
  73.    der ausgewählten Datei.
  74. *)
  75.  
  76. END Filename.
  77.